from simple.rag_system import RAGSystem

def main():
    MODEL_NAME = "deepseek-r1:1.5b"  # 您的模型名称
    print(f"使用模型: {MODEL_NAME}")

    # 创建RAG 系统
    rag_system = RAGSystem(model_name=MODEL_NAME)

    # 设置文档源（请修改为您的实际路径）
    document_sources = [
        "/Users/michael/codes_ai/python/ai_demo_yolo_2/rag/law.txt"  # 修改为您的文件路径
    ]

    # 如果使用网页
    # document_sources = [
    #     "https://lilianweng.github.io/posts/2023-06-23-agent/"
    # ]

    try:
        print("正在构建RAG 系统...")
        rag_system.build_system(document_sources)
        print("系统构建完成！\n")
        # 交互式问答
        print("\n=== 交互式问答 ===")
        print("您可以提问（输入 'quit' 退出）:")

        while True:
            question = input("\n 请输入您的问题: ").strip()
            if question.lower() == 'quit':
                print("感谢使用！")
                break

            if not question:
                continue

            print("正在思考...")
            result = rag_system.query(question)
            print(f"\n 回答: {result['answer']}")

    except Exception as e:
        print(f"\n❌ 系统运行出现错误: {str(e)}")
        print("\n🔧 可能的解决方案:")
        print("1. 确保 Ollama 服务正在运行: ollama serve")
        print(f"2. 确保模型已下载: ollama pull {MODEL_NAME}")
        print("3. 检查端口 11434 是否被占用")
        print("4. 检查文档文件路径是否正确")
        print("5. 确保有足够的磁盘空间和权限")
        print("6. 检查 LangChain 和 Pydantic 版本兼容性")


if __name__ == "__main__":
    main()